package com.example.dockerdemo.util;

import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;


/**
 * 
 * 封装返回json信息
 * @author aizhenzhen
 *
 */
public class Jsons implements Serializable {

	private static final long serialVersionUID = 1L;

	private String msg;//信息
	private Object response;//返回值对象
	private boolean success;//是否成功
	private Integer code; //状态码 1成功 -1失败
	
	

	public String getMsg() {
		return msg;
	}

	public void setMsg(String msg) {
		this.msg = msg;
	}
	public Integer getCode() {
		return code;
	}

	public void setCode(Integer code) {
		this.code = code;
	}

	public boolean isSuccess() {
		return success;
	}
	public void setSuccess(boolean success) {
		this.success = success;
	}

	
	/**
	 * 获得返回请求的值
	 * @return
	 */
	public Object getResponse() {
		return response;
	}
	/**
	 * 设置返回请求的值
	 * @param response 
	 * @return
	 */
	public void setResponse(Object response) {
		this.response = response;
	}

	/**
	 * 请求成功响应方法
	 */
	public static Jsons ok(){
		Jsons jsons=new Jsons();
		jsons.setCode(1);
		jsons.setMsg("reponse success");
		jsons.setSuccess(true);
		return jsons;
	}
	
	/**
	 * 请求成功响应方法
	 */
	public static Jsons ok(Object obj){
		Jsons jsons=new Jsons();
		jsons.setCode(1);
		jsons.setMsg("reponse success");
		jsons.setSuccess(true);
		jsons.setResponse(obj);
		return jsons;
	}
	
	/**
	 * 请求响应成功方法
	 */
	public static Jsons ok(String key,Object data){
		Map<String, Object> map=new HashMap<>();
		map.put(key, data);
		Jsons jsons=new Jsons();
		jsons.setCode(1);
		jsons.setMsg("reponse success");
		jsons.setResponse(map);
		jsons.setSuccess(true);
		return jsons;
	}

	/**
	 * 请求响应成功方法
	 */
	public static Jsons ok(String msg,Integer code){
		Jsons jsons=new Jsons();
		jsons.setCode(code);
		jsons.setMsg(msg);
		jsons.setResponse(null);
		jsons.setSuccess(true);
		return jsons;
	}
	/**
	 * 请求响应成功方法
	 */
	public static Jsons ok(String key,Object data,String msg){
		Map<String, Object> map=new HashMap<>();
		map.put(key, data);
		Jsons jsons=new Jsons();
		jsons.setCode(1);
		jsons.setMsg(msg);
		jsons.setResponse(map);
		jsons.setSuccess(true);
		return jsons;
	}
	
	/**
	 * 请求成功响应方法
	 */
	public static Jsons ok(String msg){
		Jsons jsons=new Jsons();
		jsons.setCode(1);
		jsons.setMsg(msg);
		jsons.setSuccess(true);
		return jsons;
	}
	/**
	 * 请求失败响应方法
	 */
	public static Jsons fail(String msg){
		Jsons jsons=new Jsons();
		jsons.setCode(2);
		jsons.setMsg(msg);
		jsons.setSuccess(false);
		return jsons;
	}
	/**
	 * 请求失败响应方法
	 */
	public static Jsons fail(){
		Jsons jsons=new Jsons();
		jsons.setCode(2);
		jsons.setSuccess(false);
		jsons.setMsg("reponse fail");
		return jsons;
	}
	/**
	 * 请求失败响应方法
	 */
	public static Jsons fail(String msg,Integer type){
		Jsons jsons=new Jsons();
		jsons.setCode(type);
		jsons.setMsg(msg);
		jsons.setSuccess(false);
		return jsons;
	}
}
